package com.yipei.business.service;

import java.util.List;

import com.baomidou.mybatisplus.extension.service.IService;
import com.yipei.business.domain.MlTradeAccountFinancing;
import com.yipei.common.core.domain.AjaxResult;

/**
 * 账号融资Service接口
 *
 * @author yipei
 * @date 2024-12-23
 */
public interface IMlTradeAccountFinancingService extends IService<MlTradeAccountFinancing>
{
    /**
     * 查询账号融资
     *
     * @param id 账号融资主键
     * @return 账号融资
     */
    public MlTradeAccountFinancing selectMlTradeAccountFinancingById(Long id);

    /**
     * 查询账号融资列表
     *
     * @param mlTradeAccountFinancing 账号融资
     * @return 账号融资集合
     */
    public List<MlTradeAccountFinancing> selectMlTradeAccountFinancingList(MlTradeAccountFinancing mlTradeAccountFinancing);

    /**
     * 新增账号融资
     *
     * @param mlTradeAccountFinancing 账号融资
     * @return 结果
     */
    public int insertMlTradeAccountFinancing(MlTradeAccountFinancing mlTradeAccountFinancing) throws Exception;

    /**
     * 修改账号融资
     *
     * @param mlTradeAccountFinancing 账号融资
     * @return 结果
     */
    public int updateMlTradeAccountFinancing(MlTradeAccountFinancing mlTradeAccountFinancing);

    /**
     * 批量删除账号融资
     *
     * @param ids 需要删除的账号融资主键集合
     * @return 结果
     */
    public int deleteMlTradeAccountFinancingByIds(Long[] ids);

    /**
     * 删除账号融资信息
     *
     * @param id 账号融资主键
     * @return 结果
     */
    public int deleteMlTradeAccountFinancingById(Long id);

    AjaxResult repayment(MlTradeAccountFinancing mlTradeAccountFinancing) throws Exception;

    AjaxResult payInterest(MlTradeAccountFinancing mlTradeAccountFinancing) throws Exception;

    void interestSettlementJob();

}
